package com.itheima.config;

import com.itheima.interceptor.LoginCheckInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration//表示当前类是配置类 就是告诉spring我这里有一些配置内容需要读取
//你有什么配置内容呢？  当前要注册一个拦截器--实现一个规则接口 WebMvcConfigurer
public class WebConfig implements WebMvcConfigurer {


    @Autowired //从spring中拿到拦截器对象
    private LoginCheckInterceptor loginCheckInterceptor;

    //实现 注册拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
                              // registry 注册器 完成拦截器对象的注册
//        registry.addInterceptor(拦截对象).addPathPatterns(拦截路径规则).excludePathPatterns(不拦截的路径)
    registry.addInterceptor(loginCheckInterceptor).addPathPatterns("/**")
            .excludePathPatterns("/login");// /** 才是拦截所有
      //  /* 拦截一级路径   /login /emps /depts  不拦截 /depts/1
      // /**  拦截多级路径    /login /emps /depts   /depts/1
      // /depts/*  拦截 /depts 下的一级路径
      // /depts/** 拦截 /depys 下的多级路径
    }
}
